home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / compaq.arc / CMPQDISK.BAS (.txt) next >
Encoding:
GW-BASIC  |  1985-10-01  |  1.5 KB  |  29 lines

  1. 10  DEF SEG =0                                    'point to address zero
  2. 20  OFFSET1=30*4                                  'point to disk table address
  3. 30  TBLSEG=PEEK(OFFSET1+3)*256 + PEEK(OFFSET1+2)  'get disk table segment
  4. 40  IF TBLSEG < 61440 THEN SYSTEM                'table is in RAM already!
  5. 50  TBLDISP=PEEK(OFFSET1+1)*256 + PEEK(OFFSET1)   'get disk table displacement
  6. 60  RAMSEG = 0                                    'IBM put the DOS 1.1 disk
  7. 70  RAMDISP = (5*16+7)*16                         '  table in RAM @ 0000:0570h
  8. 80  DEF SEG = RAMSEG
  9. 90  FOR I = 0 TO 10
  10. 100    IF PEEK(RAMDISP+I) <> 0 THEN SYSTEM        'make sure nothings there yet
  11. 110    NEXT I
  12. 120  FOR I = 0 TO 10
  13. 130    DEF SEG = TBLSEG                           'point to ROM disk table
  14. 140    BYTE = PEEK(TBLDISP+I)                     'get each table entry
  15. 150    DEF SEG = RAMSEG                           '  point to new disk table
  16. 160    POKE RAMDISP+I,BYTE                        '  and move it in
  17. 170    NEXT I
  18. 180  DEF SEG = 0                                  'update address of disk table
  19. 190  BYTE = INT(RAMSEG/256)                       'segment high order byte
  20. 200  POKE OFFSET1+3,BYTE
  21. 210  BYTE = RAMSEG - BYTE*256                     'segment low order byte
  22. 220  POKE OFFSET1+2,BYTE
  23. 230  BYTE = INT(RAMDISP/256)                      'displacement high order byte
  24. 240  POKE OFFSET1+1,BYTE
  25. 250  BYTE = RAMDISP - BYTE*256                    'displacement low order byte
  26. 260  POKE OFFSET1,BYTE
  27. 270  PRINT "Disk parameter table copied to RAM"
  28. 280  SYSTEM
  29.